package com.mengxiangnongfu.service;

import com.mengxiangnongfu.domain.DictType;
import com.mengxiangnongfu.dto.DicTypeDto;
import com.mengxiangnongfu.vo.DataGridView;

import java.io.Serializable;

/**
 * 字典
 *
 * @author Yang
 */
public interface DictTypeService {

    /**
     * 查询全部字典目录
     *
     * @return
     */
    DataGridView loadAllDic();

    /**
     * 分页查询字典目录
     *
     * @param dicTypeDto
     * @return
     */
    DataGridView loadDicByPage(DicTypeDto dicTypeDto);

    /**
     * 插入字典目录
     *
     * @param dicTypeDto
     * @return
     */
    Integer insertDic(DicTypeDto dicTypeDto);

    /**
     * 根据编号和类型查询字典目录是否存在
     *
     * @param dicId
     * @param dicType
     * @return
     */
    Boolean dicExist(Long dicId, String dicType);

    /**
     * 修改字典目录
     *
     * @param dicTypeDto
     * @return
     */
    Integer modifyDic(DicTypeDto dicTypeDto);

    /**
     * 根据编号批量删除字段目录
     *
     * @param dicIds
     * @return
     */
    Integer removeDic(Long[] dicIds);

    /**
     * 根据编号查询字段目录详情
     *
     * @param dicId
     * @return
     */
    DictType getDictTypeById(Serializable dicId);

    /**
     * 同步字典数据到缓存
     */
    void dictCacheAsync();
}
